package com.ysw.springbootproject.service;

import com.ysw.springbootproject.entity.Article;
import com.ysw.springbootproject.utils.PageResult;
import com.ysw.springbootproject.utils.PageUtil;

import java.util.List;
import java.util.Map;

/**
 * @author 月上微
 * @date 2025/1/8
 * @since 17:47
 */
public interface ArticleService {

    /**
     * 分页查询文章
     *
     * @param pageUtil PageUtil
     * @return PageResult
     */
    PageResult getArticlePage(PageUtil pageUtil);

    /**
     * 根据id查询文章
     *
     * @param id id
     * @return Article
     */
    Article queryObject(Integer id);

    /**
     * 根据map查询文章
     *
     * @param map map
     * @return List
     */
    List<Article> queryList(Map<String, Object> map);

    /**
     * 根据map查询文章总数
     *
     * @param map map
     * @return int
     */
    int queryTotal(Map<String, Object> map);

    /**
     * 保存文章
     *
     * @param article Article
     * @return int
     */
    int save(Article article);

    /**
     * 更新文章
     *
     * @param article Article
     * @return int
     */
    int update(Article article);

    /**
     * 删除文章
     *
     * @param id id
     * @return int
     */
    int delete(Integer id);

    /**
     * 批量删除文章
     *
     * @param ids ids
     * @return int
     */
    int deleteBatch(Integer[] ids);
}
